In general, programmable controllers (hereinafter referred to as “PLCs”) are shipped by PLC manufacturers, after which they are either incorporated into automatic packaging machines, injection molding equipment, or other industrial machinery by a vendor and installed in this state at a factory of an end user, or incorporated into equipment at an end user's factory directly by an end user.
In one of the above cases, namely when a PLC is installed at an end user's factory after having been incorporated into industrial machinery by a vendor, the vendor develops user programs (control programs) and embeds the developed user programs into the PLC in order to bring the industrial machinery whose operation is controlled by the PLC into compliance with the desired operation specifications.
At such time, in addition to providing PLCs embedded with the developed user programs, it is a common practice for vendors to provide the user programs to the end user in the form of reference user programs stored on a CD-ROM or other storage media.
The reference user programs provided by the vendors in this manner may be subject to minor program customization, provision of references to data values (I/O monitor), and the like on the end user side. With the exception of comments and labels attached in order to enhance understanding on the part of the end user, the contents of the reference user programs provided to the end user for the purpose of minor program customization and inclusion of references to data values (I/O monitor), etc. are substantially the same as the actual production-level user programs embedded into PLCs.
For this reason, there is concern that empty PLCs having no loaded user programs may be prepared and the reference user programs may be loaded thereon on the end user side, thereby permitting unauthorized copying of any number of actual production-level PLCs and causing major losses on the vendor side.
In addition, there is also concern that if such reference user programs end up in the hands of persons other than the original end user and similar unauthorized copying of actual production-level PLCs takes place, the manufacturing technology know-how that is contained in the user programs may be leaked and enormous damage may result from the technology drain.
In this connection, Patent Document 1 (Japanese Patent Application Publication No. 2009-70144) discloses a programming method, in which an arbitrary hardware ID used as a matching criterion and written into the memory of a PLC is checked against an arbitrary hardware ID that is to be checked and is specified by an operand in a user program.